//
//  ILCameraVoiceFilter.h
//  Pods
//
//  Created by hufangyao1 on 2019/12/7.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

#define STANDARD_SAMPLE_RATE 16000
#define STANDARD_PACKET_SIZE 640

typedef void(^voiceFilterComplete)(void *data, NSInteger length);


extern NSString* kILSoundtouchSampleRate;
extern NSString* kILSoundtouchChannels;
extern NSString* kILSoundtouchTempoChange;
extern NSString* kILSoundtouchPitchSemiTonesI;
extern NSString* kILSoundtouchRateChange;
extern NSString* kILSoundtouchSequenceMS;
extern NSString* kILSoundtouchSeekWindowMS;
extern NSString* kILSoundtouchOverlapMS;
extern NSString* kILSoundtouchGain;


@interface ILCameraVoiceFilter : NSObject

@property (nonatomic, readonly, strong) NSDictionary *soundtouchParamsToSet;
@property (nonatomic, assign) float gain;
@property (nonatomic, assign) BOOL enableVoiceFilter;
@property (nonatomic, copy) voiceFilterComplete completBlock;
@property (nonatomic, assign) NSInteger audioSampleRate;
@property(nonatomic, assign)int voiceChangeType;   //0原声  1小丑音  2青年音 3大叔音

@property(nonatomic, assign)int curLen;
 



- (void*)putAudioData:(NSData *)inputData;

- (void)updateConfig:(NSDictionary *)config;

- (NSData *)convertAudioWithData:(uint8_t *)inputData inputDataLen:(NSInteger) inputDataLen;

@end

NS_ASSUME_NONNULL_END
